Electrical device configuration system and method

ABSTRACT

A system ( 100 ) capable of configuring an electrical device ( 101 ) coupled to a computer ( 102 ), the system includes: (a) a computer communications component ( 111 ) of the electrical device configured to communicate with the computer; and (b) an installation component ( 120 ) of the electrical device capable of an initial configuration the electrical device. In this embodiment, the installation component is configured to automatically begin the initial configuration of the electrical device as soon as the installation component detects the electrical device is not configured and the computer communications component establishes a data connection between the electrical device and the computer. Furthermore, the initial configuration of the electrical device includes an initial configuration of either a dynamic or non-dynamic network connection between the electrical device and a network provider.

FIELD OF THE INVENTION

This invention relates generally to electrical devices, and relates moreparticularly to systems and methods for initially configuring anelectrical device electrically coupled to a computer.

DESCRIPTION OF THE BACKGROUND

When electrically coupling an electrical device to a computer, manyelectrical devices require the execution of an installation program toconfigure the electrical device to function properly. The conventionalmethod of configuring an electrical device electrically coupled to acomputer requires a CD-ROM (Compact Disc Read Only Memory), a floppydisc, or another media containing the installation software. In thismethod, a user inserts the media into the computer and the computerexecutes an installation program that is stored in the media.

However, including a CD-ROM or other media containing the installationsoftware with the electrical device increases the manufacturing cost ofthe electrical device. Furthermore, requiring the user to insert themedia into the computer and run the installation program adds extrasteps to the installation process. These extra steps increase thelikelihood that some computer problem, unrelated to the electricaldevice, can interfere with the installation process. For example, if aCD-ROM drive is not functioning, the electrical device cannot beconfigured if the media containing the installation software is aCD-ROM.

Accordingly, a need or potential for benefit exists for an electricaldevice that can be configured to operate with a computer withoutrequiring external media containing the installation software. Otherneeds or potentials for benefit may be apparent to a person of skill inthe art.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be better understood from a reading of the followingdetailed description of examples of embodiments, taken in conjunctionwith the accompanying figures in the drawings in which:

FIG. 1 is a block diagram of an example of a system configured toinitially configure an electrical device coupled to a computer,according to a first embodiment;

FIG. 2 illustrates a flow chart for an example of a method ofconfiguring the electrical device of FIG. 1, according to the firstembodiment;

FIG. 3 illustrates a block diagram of an example of an alternativenetwork configuration, according to one embodiment;

FIG. 4 illustrates a flow chart describing a an example of method ofinitially configuring the electrical device of FIG. 1 by executingsoftware in the electrical device of FIG. 1, according to the firstembodiment;

FIG. 5 illustrates a flow chart describing an example of a process ofestablishing a network connection, according to the first embodiment;

FIG. 6 illustrates a flow chart describing an example of a procedure ofconfiguring a non-automatic network connection, according to the firstembodiment;

FIG. 7 illustrates an example of a web page used to collect informationabout a network provider of FIG. 1, according to an embodiment;

FIG. 8 illustrates an example of a chart of information used toconfigure a network connection, according to an embodiment;

FIG. 9 illustrates an example of a web page used to collect informationabout the electrical device of FIG. 1, according to an embodiment;

FIG. 10 illustrates an example of a web page used to collect informationabout the network connection type used by the network provider of FIG.1, according to an embodiment;

FIG. 11 illustrates an example of a web page used to collect informationfor a static network connection, according to an embodiment;

FIG. 12 illustrates an example of a web page used to collect informationfor a Point-to-Point Protocol over Ethernet or a Point-to-Point Protocolover Asynchronous Transfer Mode network connection, according to anembodiment;

FIG. 13 illustrates an example of a web page used to collect informationfor a Point-to-Point Tunneling Protocol network connection, according toan embodiment;

FIG. 14 illustrates an example of a web page used to collect userinformation, according to an embodiment;

FIG. 15 illustrates a flow chart describing an example of a process offixing a network connection, according to the first embodiment;

FIG. 16 illustrates an example of a web page used to confirm the networkconnection configuration information for a static network connection,according to an embodiment;

FIG. 17 illustrates an example of a web page used to confirm the networkconnection configuration information for a Point-to-Point Protocol overEthernet or a Point-to-Point Protocol over Asynchronous Transfer Modenetwork connection, according to an embodiment;

FIG. 18 illustrates an example of a web page used to confirm the networkconnection configuration information for a Point-to-Point TunnelingProtocol network connection, according to an embodiment;

FIG. 19 illustrates a flow chart for an example of a method ofconfiguring the electrical device of FIG. 1, according to a secondembodiment;

FIG. 20 illustrates a flow chart for an example of a method ofattempting to initially configure a dynamic network connection of FIG.19, according to the second embodiment;

FIG. 21 illustrates an example of an electrical device that is suitablefor implementing an embodiment of the system of FIG. 1;

FIG. 22 illustrates a representative block diagram of an example of theelements included in the circuit boards inside the chassis of theelectrical device of FIG. 21;

FIG. 23 illustrates an example of a computer that is suitable forworking with an embodiment of the system of FIG. 1; and

FIG. 24 illustrates a representative block diagram of an example of theelements included in the circuit boards inside the chassis of thecomputer of FIG. 23.

For simplicity and clarity of illustration, the drawing figuresillustrate the general manner of construction, and descriptions anddetails of well-known features and techniques may be omitted to avoidunnecessarily obscuring the invention. Additionally, elements in thedrawing figures are not necessarily drawn to scale. For example, thedimensions of some of the elements in the figures may be exaggeratedrelative to other elements to help improve understanding of embodimentsof the present invention. The same reference numerals in differentfigures denote the same elements.

The terms “first,” “second,” “third,” “fourth,” and the like in thedescription and in the claims, if any, are used for distinguishingbetween similar elements and not necessarily for describing a particularsequential or chronological order. It is to be understood that the termsso used are interchangeable under appropriate circumstances such thatthe embodiments of the invention described herein are, for example,capable of operation in sequences other than those illustrated orotherwise described herein. Furthermore, the terms “include,” and“have,” and any variations thereof, are intended to cover anon-exclusive inclusion, such that a process, method, article, orapparatus that comprises a list of elements is not necessarily limitedto those elements, but may include other elements not expressly listedor inherent to such process, method, article, or apparatus.

The terms “left,” “right,” “front,” “back,” “top,” “bottom,” “over,”“under,” and the like in the description and in the claims, if any, areused for descriptive purposes and not necessarily for describingpermanent relative positions. It is to be understood that the terms soused are interchangeable under appropriate circumstances such that theembodiments of the invention described herein are, for example, capableof operation in other orientations than those illustrated or otherwisedescribed herein. The term “coupled,” as used herein, is defined asdirectly or indirectly connected in an electrical, physically,mechanical, or other manner. “System,” as used herein, can refer to, orotherwise include, one computer application or two or more computerapplications.

DETAILED DESCRIPTION OF EXAMPLES OF EMBODIMENTS

In one embodiment, a system capable of configuring an electrical devicecoupled to a computer includes: (a) a computer communications componentof the electrical device configured to communicate with the computer;and (b) an installation component of the electrical device capable of aninitial configuration of the electrical device. In this embodiment, theinstallation component is configured to automatically begin the initialconfiguration of the electrical device as soon as the installationcomponent detects the electrical device is not configured and thecomputer communications component establishes a data connection betweenthe electrical device and the computer. Furthermore, the initialconfiguration of the electrical device includes an initial configurationof either a dynamic or non-dynamic network connection between theelectrical device and a network provider.

In another embodiment, a system for configuring a network connectionfrom a computer to a network provider includes: (a) a status componentin a network device capable of determining if the network device isconfigured to provide the network connection from the computer to thenetwork provider; and (b) a configuration component in the networkdevice capable of initially configuring the network device to providethe network connection from the computer to the network provider. Inthis embodiment, the configuration component is configured toautomatically begin initially configuring the network device to providethe network connection as soon as the status component determines thenetwork device is not configured to provide the network connection fromthe computer to the network provider. Additionally, the configurationcomponent is capable of initially configuring both a dynamic networkconnection and a non-dynamic network connection.

In yet another embodiment, a system in an electrical device forconfiguring a network connection from the electrical device to a networkprovider includes: (a) a status component capable of determining whetherthe electrical device has been initially configured; and (b) aconfiguration component in the electrical device capable of initiallyconfiguring the electrical device to provide the network connection fromthe electrical device to the network provider. In this embodiment, theconfiguration component is configured to automatically initiallyconfigure the electrical device without the electrical device beingcoupled to the computer when the network connection is a dynamic networkconnection and the status component detects the electrical device is notconfigured. Moreover, when the network connection is a non-dynamicnetwork connection, the configuration component is configured toautomatically begin initially configuring the electrical device as soonas the status component detects the electrical device is not configured.

In a still further embodiment, a method of configuring an electricaldevice includes: (a) coupling the electrical device to a computer; (b)coupling the electrical device to a network provider; (c) establishing adata connection between the computer and the electrical device; and (d)after establishing the data connection, initially configuring theelectrical device. In this embodiment, initially configuring theelectrical device includes automatically executing software in theelectrical device capable of initially configuring both a dynamicnetwork connection and a non-dynamic network connection between theelectrical device and the network provider.

In an additional embodiment, a method of configuring a network deviceincludes: (a) coupling the network device to a network provider; (b)attempting to initially configure a dynamic network connection betweenthe network device and the network provider by automatically executingsoftware in the network device if the network device is not configured;and (c) if the network device is not configured and the dynamic networkconnection was not configured, initially configuring a non-dynamicnetwork by automatically executing the software in the network device.In this embodiment, the initial configuring of the non-dynamic networkincludes (a) beginning initial configuration of the non-dynamic network;(b) receiving installation information from a user; and (c) finishingthe initial configuration of the non-dynamic network using theinstallation information received from the user.

Turning to the figures, FIG. 1 is a block diagram of an example of asystem 100 capable of initially configuring an electrical device 101coupled to a computer 102. System 100 can also be considered a systemfor initially configuring a network connection from electrical device101 or computer 102 to a network provider 104 or a non-local network105. System 100 is merely exemplary and the invention is not limited tothe specific embodiments or examples presented herein. System 100 can beemployed in many different embodiments or examples not specificallydepicted or described herein.

As an example, system 100 can include: (a) a connection component 110 ofelectrical device 101 configured to facilitate communications betweenelectrical device 101 and computer 102 and between electrical device 101and network provider 104; and (b) an installation component 120 ofelectrical device 101 configured to initially configure electricaldevice 101. In some embodiments, electrical device 101 can also includea user communications interface 135 that can be used to communicatedirectly with the user. In some examples, user communications interface135 can be a touch screen or a video screen and an input device, forexample.

In some embodiments, installation component 120 is configured toautomatically begin the initial configuration of the electrical deviceas soon as installation component 120 detects that electrical device 101is not configured and connection component 110 establishes a dataconnection between electrical device 101 and computer 102. In otherembodiments, installation component 120 is configured to automaticallybegin initially configuring electrical device 101 to provide the networkconnection as soon as connection component 110 determines thatelectrical device 101 is not configured to provide the networkconnection from computer 102 to network provider 104.

In some embodiments, beginning the initial configuration of theelectrical device “as soon as” includes waiting a period of time beforebeginning configuration. Furthermore, to begin the initial configurationof electrical device 101 means starting to perform the methods,activities, processes, and/or procedures needed to configure electricaldevice 101.

In one embodiment, electrical device 101 is a gateway device. A gatewaydevice is an electrical device used to couple a computer to a network orother electrical devices on a network. For example, electrical device101 can be a modem, a router, a modem-router, a VoIP (voice overinternet protocol) modem-router, a wireless Ethernet bridge, or a clientnetwork adapter. In other embodiments, electrical device 101 can be anetwork storage device, a digital media receiver, a network printer, orIP (internet protocol) camera.

Network provider 104 can be a business, organization, computer, server,router, or the like that allows electrical device 101, computer 102, ora group of computers to connect to non-local network 105 (e.g., theInternet). For example, an internet service provider (ISP) can be anetwork provider.

In some embodiments, the initial configuration of electrical device 101(i.e., initially configuring electrical device 101) includes setting-upelectrical device 101 such that electrical device 101 can functionproperly. In some embodiments, the initial configuration of electricaldevice 101 can also include installing software components on computer102. In the same or different embodiments, initially configuringelectrical device 101 includes setting-up electrical device 101 suchthat electrical device 101 functions properly and can communicate withcomputer 102. In yet another embodiment, initially configuringelectrical device 101 includes setting-up electrical device 101 suchthat electrical device 101 functions properly and can communicate withcomputer 102 and access non-local network 105. In one example, non-localnetwork 105 can be accessed through network provider 104. In the same ora different embodiment, setting-up electrical device 101 to communicatewith computer 102 means setting-up electrical device 101 to communicatewith computer 102 through one or more other electrical devices.

Setting-up electrical device 101 can include the methods, procedures,processes and/or activities described below or any other methods,procedures, process and/or activities consistent with the description orspirit of system 100.

In one example, connection component 110 can include: (a) a computercommunications component 111 configured to communicate with computer102; (b) a network communications component 112 configured tocommunicate with network provider 104 and non-local network 105; and (c)a network provider detection component 113 configured to detect anetwork connection between electrical device 101 and network provider104.

In the same or a different embodiment, installation component 120 caninclude: (a) a configuration component 121 configured to initiallyconfigure electrical device 101; (b) a reboot component 122 configuredto reboot electrical device 101 or a portion of electrical device 101;(c) a user communications component 123 configured to receiveinformation from a user and communicating the information toconfiguration component 121; and (d) a status component 130.

In one example, status component 130 is configured to determine theconfiguration status of electrical device 101. That is, status component130 determines whether electrical device 101 is configured.Additionally, in some examples, status component 130 is configured todetermine the status of the network connection. That is, statuscomponent 130 can determine whether electrical device 101 is configuredto provide the network connection from computer 102 or electrical device101 to network provider 104. In some embodiments, network providerdetection component 113 detects the status of the network connectionbetween computer 102 or electrical device 101 and network provider 104and communicates the network status to status component 130.

In one embodiment, the status of electrical device 101 and the networkconfiguration can be communicated by status component 130 toconfiguration component 121. In this example, if status component 130determines electrical device 101 is not configured, configurationcomponent 121 configures electrical device 101.

In various examples, computer 102 can include (a) an operating system140; (b) a user communications interface 141 configured to communicatewith the user of computer 102. In one example, user communicationsinterface 141 includes an internet browser 142. In the same or adifferent example, computer 102 can also include an electrical devicecomponent 143 after the initial configuration of electrical device 101.

FIG. 2 illustrates a flow chart for an example of a method 200 ofconfiguring electrical device 101 (FIG. 1), according to the firstembodiment. It should be appreciated that this method is merelyillustrative of a technique for implementing the various aspects ofcertain embodiments described herein, and that system 100 (FIG. 1) andmethod 200 are not limited to this particular embodiment, as numerousother embodiments are possible.

In this illustrated example, a first activity in method 200 is anactivity 251 of coupling electrical device 101 (FIG. 1) to computer 102(FIG. 1). Referring again to FIG. 1, electrical device 101 can becoupled to computer 102 using a cable (not shown) in severalembodiments. For example, a first connector of an Ethernet cable can becoupled to a network port (not shown) in electrical device 101. A secondconnector of the Ethernet cable can be coupled to a network port (notshown) in computer 102. In one embodiment, the Ethernet cable is aCategory 5 (Cat 5) cable and the first and second connectors are RJ45(registered jack) connectors. In another example, electrical device 101is coupled to computer 102 using a wireless network connection. Infurther examples, electrical device 101 can be coupled to computer 102indirectly through one or more other electrical devices.

Referring again to FIG. 2, the next activity in method 200 is anactivity 252 of coupling electrical device 101 (FIG. 1) to networkprovider 104 (FIG. 1). In some embodiments, electrical device 101(FIG. 1) is directly coupled to network provider (FIG. 1). Couplingelectrical device 101 (FIG. 1) to network provider 104 (FIG. 1) canrefer to, or otherwise include, directly or indirectly couplingelectrical device 101 (FIG. 1) to network provider 104 (FIG. 1) and/orcoupling electrical device 101 (FIG. 1) to network provider 104 (FIG. 1)through a telephone network, cable network, satellite network, or thelike.

As shown in FIG. 1, electrical device 101 can be coupled directly tonetwork provider 104. In one example, electrical device 101 is coupledto network provider 104 by coupling a first connector of a cable (notshown) to electrical device 101 and a second connector of the cable to atelephone jack (not shown) or cable or a satellite wall outlet (notshown) as examples.

In another example, electrical device 101 is coupled to network provider104 indirectly through other electrical devices. FIG. 3 illustrates anexample of a block diagram of an alternative network configuration 300,according to one embodiment. In this example, electrical device 101 iscoupled to an electrical device 303 and computer 102. Electrical device303 is coupled to network provider 104, which is coupled to non-localnetwork 105. In one example, electrical device 303 is a modem. Inanother embodiment, electrical device 303 is a network adapter. In thesame or a different example, electrical device 303 is coupled to networkprovider 104 through a telephone network, a satellite network, or acable network.

In some embodiments, activity 252 can be omitted. For example, whenelectrical device 101 is not a gateway device activity 252 is not neededand can be skipped.

Referring back to FIG. 2, the next activity in method 200 is an activity253 of establishing a data connection between computer 102 (FIG. 1) andelectrical device 101 (FIG. 1). Referring again to FIG. 1, the dataconnection between electrical device 101 and computer 102 is establishedwhen electrical device 101 and computer 102 are turned on and coupledtogether. In other embodiments, the data connection is established whenelectrical device 101 and computer 102 complete a handshaking or othercommunication establishing routine.

In yet another embodiment, the data connection is established whenelectrical device 101 receives a message, request, and/or data fromcomputer 102 or computer 102 receives a message, request, and/or datafrom electrical device 101. For example, a user can launch internetbrowser 142 in computer 102. After being launched, internet browser 142can attempt to open a web page in non-local network 105. To accessnon-local network 105, internet browser 142 sends data to electricaldevice 101. In some embodiments, the receiving of the data by electricaldevice 101 establishes the data connection.

Again referencing FIG. 2, the next activity in method 200 is an activity254 of determining whether electrical device 101 (FIG. 1) is initiallyconfigured. Referring to FIG. 1, status component 130 is capable ofdetermining whether the electrical device is configured. If statuscomponent 130 determines electrical device 101 is not configured, system100 initially configures electrical device 101 in an activity 255. Ifelectrical device 101 is configured, the next activity in method 200 isan activity 256 of using electrical device 101.

In one example, status component 130 determines if electrical device 101is configured by checking a value of an initial configuration statusvariable stored in electrical device 101. In one embodiment, the initialconfiguration status variable is stored in memory (not shown) ofelectrical device 101. In this embodiment, the initial configurationvariable is set to a predetermined value during the manufacturingprocess. Installation component 120 sets the initial configurationstatus variable to a different value after initially configuringelectrical device 101. If the initial configuration status variable isset to the manufacturing process predetermined value, status component130 concludes that electrical device 101 is not configured. Otherwise,status component 130 concludes that electrical device 101 is configured.

In another example, status component 130 determines if electrical device101 is configured by determining if the settings of electrical device101 are the default settings. The default settings are the settings ofelectrical device 101 set during the manufacturing of electrical device101. If the settings of electrical device 101 are the default settings,status component 130 concludes that electrical device 101 is notconfigured.

In some examples, system 100 can also automatically reconfigureelectrical device 101 after a reset or restoring of the defaultsettings. For example, if there is a problem with electrical device 101and the user restores the default settings or resets electrical device101, system 100 will automatically begin the initial configurationprocess again when electrical device 101 is restarted. In oneembodiment, the user can restore the default setting or reset electricaldevice 101 by pressing a reset button (not shown) in electrical device101.

Referring back to FIG. 2, if electrical device 101 is not configured,the next activity in method 200 is activity 255 of automaticallyinitially configuring electrical device 101 (FIG. 1) by executingsoftware in electrical device 101 (FIG. 1). Referring to FIG. 1, in someembodiments, activity 255 (FIG. 2) includes initially configuring thenetwork connection between electrical device 101 and network provider104.

Configuring the network connection includes configuring either a dynamicor non-dynamic network connection. Automatically initially configuringelectrical device refers to beginning the initial configuration processwithout any user intervention. That is, when a certain set of conditionsare met, system 100 can begin the initial configuration process withoutwaiting for any instructions or intervention from the user of computer102. In some embodiments, the beginning of the initial configuration assoon as some conditions are met includes waiting a period of time beforebeginning the initial configuration of electrical device 101.

In some embodiments, the initial configuring of electrical device 101automatically begins if electrical device 101 is not configured. Inother embodiments, the initial configuring of electrical device 101automatically begins if electrical device 101 is not configured and adata connection between electrical device 101 and computer 102 has beenestablished. In other embodiments, the initial configuration canautomatically begin when electrical device 101 is coupled to networkprovider 104.

The initial configuration of electrical device 101 includes the initialset-up of electrical device 101 and any further reconfigurations ofelectrical device 101 after electrical device 101 is reset to thedefault settings or any other erasure or resetting of the setting ofelectrical device 101.

The initial configuration of electrical device 101 does not includechanging or reconfiguring of settings, variables, and/or data needed tokeep electrical device 101 properly functioning after initialconfiguration, unless the device is reset. For example, the initialconfiguration does not include renewing, requesting, releasing, orchanging an IP (Internet Protocol) address after an initial IP addresshas been assigned and a network connection is established. In anotherexample, the initial configuration does not include changing a passwordwhen the password has expired. In a further example, the initialconfiguration does not include reconfiguring electrical device 101 afterchanging network providers or the configuration of the local network.

FIG. 4 illustrates a flow chart describing an example of activity 255,of initially configuring electrical device 101 (FIG. 1) by executingsoftware in electrical device 101 (FIG. 1) according to the firstembodiment. The first process in activity 255 is a process 461 ofdetermining whether to configure non-local network connection.

Referring yet again to FIG. 1, in one embodiment, installation component120 can determine whether the user only wants to configure the non-localnetwork connection. In one example, user communications component 123can query the user of computer 102. For example, user communicationscomponent 123 can instruct computer 102 to display a web page ininternet browser 142. This web page allows a user to indicate if theuser wants to configure a non-local network connection. In otherembodiment, electrical device 101 can use user communications interface135 to query the user.

In some embodiments, process 461 (FIG. 4) can be omitted. In theseembodiments, installation component 120 assumes the user wants toconfigure a network connection to non-local network 105 and does notquery the user. For example, if electrical device 101 is a modem and/ora router, system 100 can assume a user wants to configure a networkconnection and process 461 (FIG. 4) can be omitted.

In some non-illustrated embodiments, before or after process 461 (FIG.4), installation component 120 can ask the user which country the useris in. If the user selects a country where there are known problems withconfiguring electrical device 101, or if electrical device 101 does nothave any information regarding configuring a network connection in thatcountry, installation component 120 can instruct the user to usealternative installation methods. For example, installation component120 can instruct the user to manually configure electrical device 101 oruse an installation program in a CD-ROM.

Referring again to FIG. 4, if the user does not want to configure anon-local network connection, the next process in activity 255 is aprocess 464 of configuring network security and a local network. If theuser wants to configure a non-local network connection, the next processis a process 462 of establishing a network connection.

FIG. 5 illustrates a flow chart describing an example of process 462 ofestablishing a network connection, according to the first embodiment.Many different protocols or network connection types exist forfacilitating communication between two electrical devices in a network.The flow chart of FIG. 5 illustrates one method of connecting electricaldevice 101 (FIG. 1) to network provider 104 (FIG. 1) using a dynamicnetwork protocol, PPPoE (Point-to-Point Protocol over Ethernet), or anon-automatic network type. One skilled in the art would recognize thatthis invention is not limited to networks using these types of networkprotocols and the initial configuration process can vary betweendifferent network protocols. The examples described below are merelyillustrative of a technique for implementing one aspect of oneembodiment. The initial configuration of electrical device 101 (FIG. 1)is not limited to these particular embodiments, network connection typesor protocols, as numerous other protocols and types of networkconnections are possible and within the scope of this invention. Forexample, network connections can also be established using PPPoA(Point-to-Point Protocol over Asynchronous Transfer Mode) or PPTP(Point-to-Point Tunneling) protocols.

The first procedure in process 462 is a procedure 571 of attempting toconfigure a dynamic network connection to network provider 104 (FIG. 1).Referring back to FIG. 1, network provider detection component 113 isconfigured to detect a network connection between electrical device 101and network provider 104.

In some embodiments, network provider detection component 113 can detecta dynamic network connection without previously configuring the networkconnection. A dynamic network connection is a network connection wherethe network provider automatically assigns IP addresses, subnet masks, adefault gateway, and/or other IP parameters to electrical devices in thenetwork. For some dynamic network connections, no user interaction isnecessary to configure the network connection.

In one example, network provider detection component 113 sends out aquery requesting assignment of IP parameters from network provider 104.If network provider 104 is configured to provide a dynamic network,network provider 104 replies to electrical device 101 with its assignedIP address, subnet mask, DNS (domain name service) server, defaultgateway information, etc. In one embodiment, the dynamic network isestablished if network provider 104 responds to the request of a networkprovider detection component with an assignment of IP parameters.

For example, network provider 104 could use the Dynamic HostConfiguration Protocol (DHCP). DHCP automates the assignment of IPaddresses, subnet masks, default gateway, and other IP parameters. Whenelectrical device 101 is DHCP compliant and network provider 104 isusing DHCP, the assignment of IP parameters occurs when electricaldevice 101 requests assignment from network provider 104.

Referring back to FIG. 5, the next procedure in process 462 is aprocedure 572 of determining whether a dynamic network was established.In one example, a dynamic network is established if connection component110 receives a response from network provider 104 and is assigned IPparameters in a predetermined time period. If the dynamic network wasestablished, process 462 is complete and the next process in activity255 is a process 463 of testing the network connection.

If the dynamic network was not established, the next procedure inprocess 462 is a procedure 573 of attempting to configure a PPPoEnetwork connection to network provider 104 (FIG. 1). PPPoE is a networkprotocol that requires user authentication when the user wants toconnect to network provider 104.

Referring again to FIG. 1, in some embodiments, network providerdetection component 113 attempts to establish a PPPoE network connectionby using a discovery process. For example, network provider detectioncomponent 113 can attempt to determine the Ethernet MAC (Media AccessControl) address of a server (not shown) of network provider 104 inorder to establish a session. In one embodiment, network providerdetection component 113 sends out a PADI (PPPoE Active DiscoveryInitiation) packet via an Ethernet broadcast (MAC address:ff:ff:ff:ff:ff:ff). This PADI packet contains the MAC address ofelectrical device 101. In some examples, the MAC address of electricaldevice 101 is the MAC address of a network adapter in computer 102.

In this embodiment, if network provider 104 is running a PPPoE network,network provider 104 replies with a PADO (PPPoE Active Discovery Offer)packet to the MAC address supplied in the PADI. The PADO packet containsthe MAC address of a server (not shown) of network provider 104, itsname, and the name of the service.

In this example, network provider detection component 113 then sends aPADS (PPPoE Active Discovery Session-confirmation) message to the serverof network provider 104 and the server responds with a Session ID.

The next procedure in process 462, in this embodiment, is a procedure574 of determining whether a PPPoE network connection was established.In one example, if system 100 (FIG. 1) receives a PADS message fromnetwork provider 104 (FIG. 1), a PPPoE network connection isestablished.

If the PPPoE network connection is established, the next procedure inprocess 462, in this embodiment, is a procedure 575 of entering userinformation. In one embodiment, the user enters a username and passwordto log into the PPPoE network into a web page in internet browser 142.Network communications component 112 (FIG. 1) can then send the userinformation to network provider 104 (FIG. 1). After the user enters theuser information, process 462 is complete and the next process ofactivity 255 is process 463 of testing the network connection.

If the PPPoE network connection was not established, the next procedurein process 462 is a procedure 576 of configuring a non-automatic networkconnection. FIG. 6 illustrates a flow chart describing an example ofprocedure 576 of configuring the non-automatic network connection tonetwork provider 104 (FIG. 1), according to the first embodiment. Thefirst activity in procedure 576 is an activity 681 of obtaining networkprovider and network connection type information. In activity 681, theuser can be asked to provide some or all of the information aboutnetwork provider 104.

Referring again to FIG. 1, in one example, electrical device 101 hasinformation stored about various network providers in a network providerdatabase (not shown) in memory (not shown). For example, electricaldevice 101 could store the following information about a networkprovider: (a) the country network provider 104 operates in; (b) the nameof the network provider; (c) the network connection type used by thenetwork provider; (d) the VPI (virtual path identifier); (e) the VCI(virtual channel identifier); (f) the encapsulation type (VCMUX (virtualcircuit multiplexing) or LLC (logical link control)); (g) an IP addressof the network provider; (h) a subnet mask; (i) a gateway; (j) an IPaddress of the primary DNS server; (k) an IP address of the secondaryDNS server; (l) a service IP address; (m) the service name; (n) if thenetwork connection is on demand (yes/no); (o) the maximum idle time; and(p) the MTU (maximum transmission unit).

In one embodiment, in activity 681, computer communications component111 instructs computer 102 to display one or more web pages in internetbrowser 142 where the user can enter the information about networkprovider 104. In this example, the user provides some information aboutnetwork provider 104 and electrical device 101 retrieves moreinformation about network provider 104 from the network providerdatabase. For example, computer communications component 111 can providethe information from the user to configuration component 121, which usesthe user-provided information to retrieve the rest of the informationfrom the network provider database.

FIG. 7 illustrates an example of a web page 700 that is used to collectinformation about network provider 104 (FIG. 1), according to anembodiment. On web page 700, in this embodiment, the user is instructedto select the name of the network provider from a combo box 731.

After the network provider is selected, computer communicationscomponent 111 provides the name of the network provider to configurationcomponent 121. Configuration component 121 then determines, in thisembodiment, if there is more than one possible network connection typefor the selected network provider. If more than one possible networkconnection type exists, configuration component 121 communicates thepossible network connection types to computer communications component111 in this embodiment. Computer communications component 111 theninstructs internet browser 142 to display combo box 732 in web page 700in this embodiment. The user can then select the network connection typefrom a combo box 732.

In some embodiments, the network connection type label and combo box 732are hidden until the network provider has been selected. In thisembodiment, the network connection type label and combo box 732 are onlydisplayed if the network provider has more than one network connectiontype. After the user has entered the name of network provider 104 and,if necessary, the network connection type, the user clicks a button 733.If the network provider for the user is not shown in combo box 731, theuser can click a button 734.

Referring back to FIG. 6, the next activity in procedure 576 is anactivity 682 determining if network provider 104 (FIG. 1) is in thenetwork provider database. In one example, if the user selects a networkprovider and, if necessary, the network connection types, informationregarding the network provider is in the network provider database. Ifthe user clicks button 734 (FIG. 7), configuration component 121concludes that the network provider is not in the network providerdatabase.

If the network provider 104 is not in the network provider database, thenext activity in procedure 576 is an activity 683 of obtaininginformation regarding network provider 104 (FIG. 1). In one embodiment,computer communications component 111 (FIG. 1) instructs computer 102 todisplay a series of web pages in internet browser 142 to collect theinformation. In one embodiment where electrical device 101 is amodem-router or a modem, the specific information is shown in the tablein FIG. 8. FIG. 8 illustrates an example of a chart 800 of informationused to configure a network connection, according to an embodiment.Beside the information listed in chart 800, other user-specificinformation could be used to configure the network connection. The usercan also be asked to provide this user-specific information. Forexample, for PPPoE or PPPoA network connections, a user can be asked toprovide the user's username and password.

FIG. 9 illustrates an example of a web page 900 used to collectinformation about electrical device 101 (FIG. 1), according to anembodiment. In one example, if electrical device 101 (FIG. 1) is amodem-router or a modem, web page 900 is displayed to the user ininternet browser 142 (FIG. 1) and the user can enter the VCI, VPI, andencapsulation information for electrical device 101 (FIG. 1). Afterentering the information, the user can click a button 933 to submit theinformation. In one example, after receiving the information entered inweb page 900, computer communications component 111 (FIG. 1) instructscomputer 102 (FIG. 1) to display a web page 1000 (FIG. 10) in internetbrowser 142 (FIG. 1).

FIG. 10 illustrates an example of web page 1000 used to collectinformation about the network connection type used by a network provider104 (FIG. 1), according to an embodiment. In web page 1000, the userenters the network connection type information. Depending on the networkconnection type, one or more additional web pages can be presented tothe user and the user can enter the needed information for that networkconnection type. FIG. 11 illustrates an example of a web page 1100 usedto collect information for a static network connection type, accordingto an embodiment. FIG. 12 illustrates an example of a web page 1200 usedto collect information for a PPPoE or a PPPoA network connection type,according to an embodiment. FIG. 13 illustrates an example of a web page1300 used to collect information for a PPTP network connection type,according to an embodiment. In this embodiment, computer communicationscomponent 111 (FIG. 1) instructs computer 102 (FIG. 1) to display one ofweb pages 1100 (FIG. 11), 1200 (FIG. 12), or 1300 (FIG. 13) depending onthe network connection type entered in web page 1000 (FIG. 10).

In a different example, if electrical device 101 is a router and thenetwork provider 104 is not in the network provider database, web page1000 (FIG. 10) is displayed to the user and the user can select thenetwork connection type. After selecting the network connection type,computer communications component 111 (FIG. 1) instructs computer 102(FIG. 1) to display one of web pages 1100 (FIG. 11), 1200 (FIG. 12), or1300 (FIG. 13) depending on the network connection type entered into webpage 1000 (FIG. 10). In some examples, after obtaining the informationregarding network provider 104 (FIG. 1), the next activity in procedure576 is an activity 686 of obtaining user specific information. In otherexamples, after obtaining the information regarding network provider 104(FIG. 1), the next step is activity 687 instead of activity 686 ofestablishing a network connection.

Referring again to FIG. 6, if system 100 determines the network provideris in the network provider database (activity 682), the next activity inprocedure 576 is an activity 684 of determining whether all of theneeded information is available in the network provider database. In oneembodiment, computer communications component 111 (FIG. 1) communicatesthe information entered into web page 700 (FIG. 7) to configurationcomponent 121 (FIG. 1). Configuration component 121 (FIG. 1) can thendetermine if all of the needed information for the selected networkprovider and network connection type exists in the network providerdatabase. In one embodiment where electrical device 101 (FIG. 1) is amodem-router or a modem, the needed information is shown in the table inFIG. 8.

If not all of the needed information is available in network providerdatabase, the next activity in procedure 576 is an activity 685 ofobtaining the missing information. In one example, configurationcomponent 121 (FIG. 1) determines what information is missing andcommunicates the list of missing information to computer communicationscomponent 111 (FIG. 1). Computer communications component 111 (FIG. 1)instructs computer 102 (FIG. 1) to display one or more of web pages 900(FIG. 9), 1000 (FIG. 10), 1100 (FIG. 11), 1200 (FIG. 12) and 1300 (FIG.13), depending on what information is needed.

If the network provider database includes all of the needed informationregarding network provider 104 (FIG. 1) in activity 684, the nextactivity in procedure 576 is activity 686 of obtaining user-specificinformation. In one embodiment, in activity 686, if the networkconnection type is PPPoE, PPPoA, or PPTP, the user is asked to enter ausername and password to log into the user account with network provider104 (FIG. 1). In one example, computer communications component 111(FIG. 1) instructs computer 102 (FIG. 1) to display a web page thatallows a user to provide the user-specific information. FIG. 14illustrates an example of a web page 1400 used to collect the userinformation, according to an embodiment.

If the network connection type is static, computer communicationscomponent 111 (FIG. 1) instructs computer 102 (FIG. 1) to display webpage 1100 (FIG. 11) where the user can enter the information about thenetwork connection if the user has not already entered this information.If the network connection type does not require any user-specificinformation from the user, activity 686 can be skipped.

Referring again to FIG. 6, if all of the user-specific information wasobtained, the next activity in procedure 576 is an activity 687 ofattempting to establish a network connection. The method used toestablish a network connection depends on the type of networkconnection. For example, if the network connection type is PPPoE, themethod outlined in procedure 573 (FIG. 5) can be used to establish anetwork connection. The methods used to establish PPPoA, PPTP, andstatic network connections are well-known in the art and will not bedescribed or depicted further herein.

After attempting to establish a network connection, the next activity inprocedure 576 is an activity 688 of determining whether a networkconnection was established. For example, if the network connection typeis PPPoE, the method outlined in procedure 574 of FIG. 5 can be used todetermine whether a network connection was established. In otherexamples, if IP parameters have been assigned to electrical device 101(FIG. 1) or computer 102 (FIG. 1), the network connection has beenestablished

If the network connection is not established, the next activity inprocedure 576 is an activity 689 of manually configuring the networkconnection. In some examples, manually configuring the networkconnection involves contacting network provider 104 (FIG. 1) to obtainthe network setting or technical assistance in configuring electricaldevice 101 (FIG. 1).

If system 100 determines that the network connection is established,procedure 576 of FIG. 5 is complete and process 462 of FIG. 4 is alsocomplete. Referring again to FIG. 4, the next process in activity 255 isa process 463 of testing the network connection.

Referencing FIG. 1, in one example, network provider detection component113 tests the network connection by pinging a target host in non-localnetwork 105. Ping is a computer network tool used to test whether aparticular host is reachable across an IP network. Ping works by sendingInternet Control Message Protocol (ICMP) echo request packets to atarget host and listening for ICMP echo response replies. If ICMP echoresponse replies are received, network provider detection component 113concludes a network connection exists between electrical device 101 andnon-local network 105.

If a network connection exists, the next process of FIG. 4 is process464 of configuring the security and the local network. If a networkconnection is not detected, the next process of FIG. 4 is a process 465of fixing the network connection. FIG. 15 illustrates a flow chartdescribing an example of process 465 of fixing the network connection,according to the first embodiment.

Referring to FIG. 15, the first procedure in process 465 is a procedure1571 of confirming the network connection configuration information. Inone embodiment, computer communications component 111 (FIG. 1) instructscomputer 102 (FIG. 1) to display a web page in internet browser 142(FIG. 1) where the user can confirm the network connection configurationinformation. FIG. 16 illustrates an example of a web page 1600 used toconfirm the network connection configuration information for a staticnetwork connection type, according to an embodiment. FIG. 17 illustratesan example of a web page 1700 used to confirm the network connectionconfiguration information for a PPPoE or PPPoA network connection type,according to an embodiment. FIG. 18 illustrates an example of a web page1800 used to confirm the network connection configuration informationfor a PPTP network connection type, according to an embodiment.

Referring again to FIG. 15, the next procedure in process 465 is aprocedure 1572 of determining whether network connection configurationinformation is correct. If the user indicates the network connectionconfiguration information is correct in web page 1600 (FIG. 16), 1700(FIG. 17), or 1800 (FIG. 18), the next procedure in process 465 is aprocedure 1573 of rebooting electrical device 101 (FIG. 7).

If the network connection configuration information is not correct, thenext procedure in process 465 is a procedure 1574 of re-entering thenetwork connection configuration information. In procedure 1574, theuser is prompted to enter the network connection configurationinformation. In one example, procedure 1574 is similar to activity 683of FIG. 6. After the user has re-entered the network connectionconfiguration information, process 465 is complete and the next processin activity 255 (FIG. 2) is a process 468 (FIG. 4) of testing thenetwork connection.

After the user re-enter the network connection configurationinformation, the next procedure in process 465 is a procedure 1575 ofattempting to establish a network connection. In one example, procedure1575 can be similar to activity 687 of FIG. 6.

After attempting to establish a network connection, the next procedurein process 465 is a procedure 1576 of determining whether a networkconnection was established. In one example, procedure 1576 can besimilar to activity 688 of FIG. 6. If the network connection isestablished, process 465 is complete and the next process in activity255 is process 468 of determining if the network connection is fixed.

If the network connection is not established in procedure 1576, the nextprocedure in process 465 is procedure 1571 of confirming the networkconfiguration settings. If the user confirms the network connectionconfiguration information for electrical device 101 (FIG. 1) inprocedure 1572, the next procedure in process 465 is procedure 1573 ofrebooting electrical device 101 (FIG. 1). Referring back to FIG. 1,reboot component 122 is configured to reboot electrical device 101 orthe portion of electrical device 101 when electrical device 101 cannotconnect to network provider 104 in one example. Rebooting electricaldevice 101 can refer to cycling the power of electrical device 101 (FIG.1). In other embodiments, rebooting can include other procedures oractivities.

In a different example, when electrical device is a modem-router, rebootcomponent 122 can reboot the modem portion of electrical device 101. Inother examples, reboot component 122 can reboot the modem portion andthe router portion of electrical device 101.

Referring back to FIG. 4, after electrical device 101 (FIG. 1) or aportion of electrical device 101 has been rebooted, the next procedurein process 465 is a procedure 1577 of attempting to establish a networkconnection. In one example, procedure 1577 can be identical to orsubstantially similar to procedure 1575.

After attempting to establish a network connection in procedure 1577,the next procedure in process 465 is a procedure 1578 of determiningwhether a network connection exists. In one example, procedure 1578 canbe identical to or substantially similar to procedure 1576.

If the network connection is not established in procedure 1578, the nextprocedure in process 465 is a procedure 1579 of manually configuring thenetwork connection. In some examples, manually configuring the networkconnection involves contacting network provider 104 (FIG. 1) to obtainthe network setting or technical assistance in configuring electricaldevice 101 (FIG. 1).

If a network connection has been established, process 465 is completeand the next process in activity 255 is process 468 of testing whetherthe network connection is fixed. In one embodiment, process 468 involvestesting whether a network connection has been fixed. In one example,process 468 can be similar to process 463 of testing the networkconnection.

If a network connection does not exist, the next process in activity 255is a process 467 of manually configuring the network connection. In someexamples, manually configuring the network connection involvescontacting network provider 104 to obtain the network setting ortechnical assistance in configuring electrical device 101.

If the network connection exists, the next process in activity 255 isprocess 464 of configuring network security and the local network. Inone embodiment, process 464 can include the user entering the localnetwork name and password, the service set identifier (SSID) for awireless network, a network guest SSID and key, etc.

Referring back to FIG. 1, in some embodiments where electrical device101 includes a user communications interface 135, the user can configurethe local security using user communications interface 135. In anotherembodiment, user communications interface 135 can be used to confirmthat the user wants to use the default network security and localnetwork settings. In this embodiment, if the user wants to usenon-default settings, the user is prompted by user communicationsinterface 135 to enter the setting into user communications interface141. In yet another embodiment, the network security and local networkis configured using user communications interface 141 and not usercommunications interface 135.

In some embodiments, initially configuring electrical device 101(activity 255 in FIG. 2) can include installing electrical devicecomponent 143 in computer 102. For example, if electrical device 101requires drivers to be installed in computer 102, activity 255 (FIG. 2)can include installing these drivers.

After configuring network security and the local network in process 464,activity 255 is complete. Referring back to FIG. 2, the next activity inmethod 200 is activity 256 of using electrical device 101 (FIG. 1). Inone embodiment, using electrical device 101 (FIG. 1) includes accessingnon-local network 105 (FIG. 1) from computer 102 (FIG. 1) throughelectrical device 101 (FIG. 1). In one example, the non-local networkaccessed is the internet. In other examples, using electrical device 101(FIG. 1) involves storing data in electrical device 101 (FIG. 1),printing documents using electrical device 101 (FIG. 1), or takingpictures or video using electrical device 101 (FIG. 1).

In alternative embodiments, the initial configuration of electricaldevice 101 can begin before electrical device 101 is coupled to computer102. FIG. 19 illustrates a flow chart for an example of a method 1900 ofconfiguring electrical device 101 (FIG. 1), according to a secondembodiment. In one example, system 100 (FIG. 1) is configured to performmethod 1900. In the illustrated example of method 1900, it is assumedthat electrical device 101 (FIG. 1) is not configured.

In one embodiment, the first activity in method 1900 is an activity 1951of coupling electrical device 101 (FIG. 1) to network provider 104 (FIG.1). In one example, activity 1951 can be similar to activity 252 of FIG.2.

The next activity in method 1900 is an activity 1952 of attempting toconfigure electrical device 101 (FIG. 1). In this embodiment, electricaldevice 101 (FIG. 1) can be configured in some cases without couplingelectrical device 101 (FIG. 1) to computer 102 (FIG. 1).

FIG. 20 illustrates a flow chart describing an example of activity 1952,according to the first embodiment. The first process in activity 1952 isa process 2061 of attempting to configure a dynamic network connectionto network provider 104 (FIG. 1) by automatically executing software inelectrical device 101. In one example, process 2061 can be identical toor substantially similar to procedure 571 of FIG. 5.

Referring again to FIG. 20, the next procedure in activity 1952 is aprocess 2062 of determining whether a dynamic network connection wasestablished. In one example, process 2062 can be identical to orsubstantially similar to procedure 572 of FIG. 5. If the dynamic networkwas not established, activity 1952 is complete and the next activity inmethod 1900 (FIG. 19) is an activity 1954 (FIG. 19) of couplingelectrical device 101 (FIG. 1) to computer 102 (FIG. 1).

If the dynamic network was established, the next process in activity1952 is a process 2063 of testing the network connection. In oneexample, process 2063 can be identical to or substantially similar toprocess 463 of FIG. 4.

If the network connection is not configured in process 2063, the nextprocess in activity 1952 is a process 2067 of attempting to fix thenetwork connection. In one embodiment, network provider detectioncomponent 113 (FIG. 1) can attempt to re-initialize the dynamic networkconnection. In one example, network provider detection component 113(FIG. 1) can attempt to re-initialize the dynamic network connection bysending out a query requesting a new assignment of IP parameters fromnetwork provider 104 and then attempting to reconfigure the networkconnection. In some embodiments, reboot component 122 (FIG. 1) canreboot at least a portion of electrical device 101 (FIG. 1) and/orelectrical device 303 (FIG. 3) before or after attempting tore-initialize the dynamic network connection.

After attempting to fix the network connection, the next procedure inactivity 1952 is a process 2068 of determining whether the dynamicnetwork connection was reconfigured. In one example, process 2068 can beidentical to or substantially similar process 2062 and/or procedure 572of FIG. 5. If the dynamic network connection was not reconfigured,activity 1952 is complete and the next activity in method 1900 (FIG. 19)is activity 1954 (FIG. 19).

If the dynamic network was reconfigured, the next procedure in activity1952 is a process 2069 of testing the network connection. In oneexample, process 2069 can be identical to or substantially similar toprocess 2063 and/or process 463 of FIG. 4. If the network connectiondoes not exist, activity 1952 is complete and the next activity inmethod 1900 (FIG. 19) is activity 1954 (FIG. 19).

If the network connection exists in either process 2063 or 2069, thenext process in activity 1952 is a process 2064 of coupling electricaldevice 101 (FIG. 1) to computer 102 (FIG. 1). In one example, process2064 can be identical to or substantially similar to activity 251 ofFIG. 2.

After coupling electrical device 101 (FIG. 1) to computer 102 (FIG. 1),the next process in activity 1952 is a process 2065 of establishing adata connection between computer 102 (FIG. 1) and electrical device 101(FIG. 1). In one example, process 2065 can be identical to orsubstantially similar to activity 253 of FIG. 2.

Subsequently, activity 1952 includes a process 2066 of configuringnetwork security and the local network. In one example, process 2066 canbe identical to or substantially similar to process 464 of FIG. 4. Afterconfiguring the network security and local network, activity 1952 iscomplete and the next activity in method 1900 (FIG. 19) is an activity1957 (FIG. 19) of using electrical device 101 (FIG. 1). In one example,activity 1957 (FIG. 19) can be identical to or substantially similar toactivity 256 of FIG. 2.

Referring back to FIG. 9, the next activity in method 1900 is anactivity 1953 of determining whether the dynamic network is configured.A dynamic network was configured if the network passed the networkconnection test in process 2063 (FIG. 20). If the dynamic network wasconfigured, the next activity in method 1900 is an activity 1957 ofusing the electrical device.

If a dynamic network connection is not configured, a subsequent activityin method 1900 is activity 1954 of coupling electrical device 101(FIG. 1) to computer 102 (FIG. 1). In one example, activity 1952 can beidentical to or substantially similar to activity 251 of FIG. 2 and/orprocess 2064 of FIG. 20.

After coupling electrical device 101 (FIG. 1) to computer 102 (FIG. 1),the next activity in method 1900 is an activity 1955 of establishing adata connection between computer 102 (FIG. 1) and electrical device 101(FIG. 1). In one example, activity 1955 can be identical to orsubstantially similar to activity 253 of FIG. 2 and/or process 2065 ofFIG. 20.

The next activity in method 1900 is an activity 1956 of initiallyconfiguring electrical device 101 (FIG. 1) by automatically executingthe software in electrical device 101 (FIG. 1). In one example, activity1956 is identical to or substantially similar to activity 255 of FIGS. 2and 4. In another example, activity 1956 is similar to activity 255 ofFIGS. 2 and 4 but does not include procedures 571 and 572 of FIG. 5.

In some embodiments, activity 1956 can be performed before performingactivities 1954 and 1955. In these embodiments, the user can enter theinstallation information used during the initial configuration throughuser communications interface 135 (FIG. 1).

After either the dynamic or non-dynamic network connection has beenconfigured, the last activity in method 1900 is activity 1957 of usingelectrical device 101 (FIG. 1). In one example, activity 1957 can beidentical to or substantially similar to activity 256 of FIG. 2.

FIG. 21 illustrates an example of electrical device 101 that is suitablefor implementing an embodiment of system 100 (FIG. 1). Electrical device101 includes a chassis 2102 containing one or more circuit boards (notshown), a video screen 2108, one or more network connectors 2112, aninput device 2104, and one or more antennas 2105. Antennas 2105 can beused for information transfer using electromagnetic waves (i.e., awireless network).

A representative block diagram of an example of the elements included inthe circuit boards inside chassis 2102 is shown in FIG. 22. In thisembodiment, a central processing unit (CPU) 2210 is coupled to a systembus 2214. In various embodiments, the architecture of CPU 2210 can becompliant with any of a variety of commercially distributed architecturefamilies.

System bus 2214 also is coupled to memory 2208 that can include bothread only memory (ROM) and random access memory (RAM). Non-volatileportions of memory 2208 or the ROM can be encoded with a boot codesequence suitable for restoring electrical device 101 (FIG. 1) to afunctional state after a system reset.

In the depicted embodiment of FIG. 22, various I/O devices such as avideo controller 2202, one or more network adapters 2220, an inputadapter 2226, and other I/O devices 2422 can be coupled to a system bus2414. In one example, network adapters 2220 are configured to be coupledto antennas 2105 and network connectors 2112. In one example, networkconnectors 2112 include one ADSL (Asymmetric Digital Subscriber Line)connector and four Ethernet ports. Network connectors 2112 and antennas2105, though network adapters 2220 can be coupled to CPU 2210 directlyor through system bus 2214. In other embodiments, distinct units can beused to control each of these devices separately.

Video controller 2202 can be suitable for refreshing video screen 2108(FIG. 21). In some embodiments, video controller 2202 can include agraphics adapter. In some embodiments, input device 2104 is a keyboardand/or one or more buttons. In other examples, input device 2104 can beother types of input devices.

Although many other components of electrical device 101 (FIGS. 1 and 21)are not shown, such components and their interconnection are well knownto those of ordinary skill in the art. Accordingly, further detailsconcerning the construction and composition of electrical device 101 andthe circuit boards inside electrical device 101 need not be discussedherein.

When electrical device 101 in FIGS. 1 and 21 is running, programinstructions stored in memory 2208 (FIG. 22) are executed by CPU 2210(FIG. 22). A portion of the program instructions, stored in thesedevices, can be suitable for carrying out the methods of configuringelectrical device 101 with system 100 (FIG. 1) as described previouslywith respect to FIGS. 1-20.

FIG. 23 illustrates an example of computer 102 that is suitable forworking with system 100 (FIG. 1) in electrical device 101. Computer 102includes a chassis 2302 containing one or more circuit boards (notshown), a floppy drive 2312, a Compact Disc Read-Only Memory (CD-ROM)drive 2316, and a hard drive 2314. A representative block diagram of anexample of the elements included in the circuit boards inside chassis2302 is shown in FIG. 24. A CPU 2410 in FIG. 24 is coupled to system bus2414 in FIG. 24. In various embodiments, the architecture of CPU 2210can be compliant with any of a variety of commercially distributedarchitecture families including the RS/6000 family, the Motorola 68000family, or the Intel x86 family.

System bus 2414 also is coupled to memory 2408 that includes both readonly memory (ROM) and random access memory (RAM). Non-volatile portionsof memory 2408 or the ROM can be encoded with a boot code sequencesuitable for restoring computer 102 (FIGS. 1 and 23) to a functionalstate after a system reset. In addition, memory 2408 can includemicrocode such as a Basic Input-Output System (BIOS).

In the depicted embodiment of FIG. 24, various I/O devices such as adisk controller 2404, a graphics adapter 2424, a video controller 2402,a keyboard adapter 2426, a mouse adapter 2406, a network adapter 2420,and other I/O devices 2422 can be coupled to system bus 2414. Keyboardadapter 2426 and mouse adapter 2406 are coupled to a keyboard 2304(FIGS. 23 and 24) and a mouse 2310 (FIGS. 23 and 24), respectively, ofcomputer 102 (FIGS. 1 and 23). While graphics adapter 2424 and videocontroller 2402 are indicated as distinct units in FIG. 24, videocontroller 2402 can be integrated into graphics adapter 2424, or viceversa in other embodiments. Video controller 2402 is suitable forrefreshing a monitor 2306 (FIGS. 23 and 24) to display images in ascreen 2308 (FIG. 23) of computer 102 (FIGS. 1 and 23). Disk controller2404 can control hard drive 2314 (FIGS. 23 and 24), floppy drive 2312(FIGS. 23 and 24), and CD-ROM drive 2316 (FIGS. 23 and 24). In otherembodiments, distinct units can be used to control each of these devicesseparately. Network adapter can be coupled to one or more networkconnectors 2432.

Although many other components of computer 102 (FIGS. 1 and 23) are notshown, such components and their interconnection are well known to thoseof ordinary skill in the art. Accordingly, further details concerningthe construction and composition of computer 102 (FIGS. 1 and 23) andthe circuit boards inside chassis 2302 (FIG. 20) need not be discussedherein.

When computer 102 (FIGS. 1 and 23) is running, program instructionsstored in a floppy disk in floppy drive 2312, in a CD-ROM in CD-ROMdrive 2316, in hard drive 2314, or in memory 2408 (FIG. 21) are executedby CPU 2410 (FIG. 21). A portion of the program instructions, stored inthese devices, can be suitable for carrying out the process related tosystem 100 (FIG. 1) as described previously with respect to FIGS. 1-22.

Although the invention has been described with reference to specificembodiments, it will be understood by those skilled in the art thatvarious changes may be made without departing from the spirit or scopeof the invention. For example, to one of ordinary skill in the art, itwill be readily apparent process 462 of FIG. 4 of determining whetherthe user only wants to configure a non-local network can occur beforeprocess 461 (FIG. 4) of determining whether a dynamic network exits. Inanother example, instead of gathering input from a user using a webpage, system 100 can have computer 102 (FIG. 1) display windows wherethe user can enter the needed information. In yet a further embodiment,the activities of testing the network connection can be omitted. Instill another embodiment, electrical device 101 (FIG. 1) can be referredto as a network device. In another alternative embodiment, if thenetwork connection is not established in activity 688 (FIG. 6), the nextactivity in procedure 576 (FIG. 6) could be a procedure identical to orsubstantially similar to process 465 of FIG. 4.

Additional examples of such changes have been given in the foregoingdescription. Accordingly, the disclosure of embodiments of the inventionis intended to be illustrative of the scope of the invention and is notintended to be limiting. It is intended that the scope of the inventionshall be limited only to the extent required by the appended claims.

For example, to one of ordinary skill in the art, it will be readilyapparent that the system discussed herein may be implemented in avariety of embodiments, and that the foregoing discussion of certain ofthese embodiments does not necessarily represent a complete descriptionof all possible embodiments. Rather, the detailed description of thedrawings, and the drawings themselves, disclose at least one preferredembodiment of the invention, and may disclose alternative embodiments ofthe invention.

All elements claimed in any particular claim are essential to theinvention claimed in that particular claim. Consequently, replacement ofone or more claimed elements constitutes reconstruction and not repair.Additionally, benefits, other advantages, and solutions to problems havebeen described with regard to specific embodiments. The benefits,advantages, solutions to problems, and any element or elements that maycause any benefit, advantage, or solution to occur or become morepronounced, however, are not to be construed as critical, required, oressential features or elements of any or all of the claims.

Moreover, embodiments and limitations disclosed herein are not dedicatedto the public under the doctrine of dedication if the embodiments and/orlimitations: (1) are not expressly claimed in the claims; and (2) are orare potentially equivalents of express elements and/or limitations inthe claims under the doctrine of equivalents.

1. A system capable of configuring an electrical device coupled to acomputer, the system comprising: a computer communications component ofthe electrical device configured to communicate with the computer; andan installation component of the electrical device configured to performan initial configuration of a dynamic and a non-dynamic networkconnection between the electrical device and a network provider,wherein: the installation component of the electrical device isconfigured to automatically begin the initial configuration as soon asthe installation component detects the electrical device is notconfigured and the computer communications component establishes a dataconnection between the electrical device and the computer; and theinstallation component is configured to attempt to initially configurethe non-dynamic network connection if the installation component failsto initially configure the dynamic network connection between theelectrical device and the network provider.
 2. The system of claim 1,further comprising: a network provider detection component configured todetect the dynamic or non-dynamic network connection between theelectrical device and the network provider.
 3. The system of claim 1,wherein: the installation component comprises: a status componentcapable of determining whether the electrical device has been initiallyconfigured.
 4. The system of claim 1, wherein: the installationcomponent is configured to receive installation information from a user;and the installation component uses the installation informationreceived during the initial configuration.
 5. The system of claim 4,wherein: an internet browser is operating in the computer; and thecomputer communications component is configured to receive theinstallation information from the user through the internet browser andcommunicating the installation information to the installationcomponent.
 6. The system of claim 1, further comprising: a usercommunication interface of the electrical device, wherein: the usercommunication interface is configured to receive the installationinformation from the user and communicate the installation informationto the installation component.
 7. The system of claim 1, wherein: theinstallation component comprises: a reboot component configured toreboot all of the electrical device or a portion of the electricaldevice.
 8. The system of claim 7, wherein: the reboot component rebootsthe electrical device or the portion of the electrical device whenelectrical device cannot connect to the network provider.
 9. The systemof claim 1, wherein: the electrical device is a modem.
 10. The system ofclaim 1, wherein: the electrical device is a router.
 11. The system ofclaim 1, wherein: the electrical device is a modem-router.
 12. Thesystem of claim 1, wherein: the installation component is configured toperform the initial configuration by executing one or more programinstructions stored in a memory of the electrical device.
 13. A systemfor configuring a network connection from a computer to a networkprovider, the system comprising: a status component in a network devicecapable of determining if the network device is configured to providethe network connection from the computer to the network provider; and aconfiguration component in the network device capable of initiallyconfiguring the network device to provide the network connection fromthe computer to the network provider, wherein: the configurationcomponent is configured to automatically begin initially configuring thenetwork device to provide the network connection as soon as the statuscomponent determines the network device is not configured to provide thenetwork connection from the computer to the network provider; theconfiguration component is capable of initially configuring both adynamic network connection and a non-dynamic network connection; theconfiguration component is configured to attempt to initially configurethe dynamic network connection and if the configuration component failsto initially configure the dynamic network connection between theelectrical device and the network provider, the configuration componentis configured to initially configure the non-dynamic network connection.14. The system of claim 13, further comprising: a connection componentin the network device configured to facilitate communications betweenthe network device and the computer and between the network device andthe network provider, wherein: the configuration component is furtherconfigured to receive information from a user regarding initiallyconfiguring the network device via the connection component.
 15. Thesystem of claim 14, wherein: an internet browser is operating in thecomputer; and the connection component is configured to receive theinformation from the user through the internet browser in the computer.16. A system in an electrical device for configuring a networkconnection from the electrical device to a network provider, the systemcomprising: a status component capable of determining whether theelectrical device has been initially configured; and a configurationcomponent in the electrical device capable of initially configuring theelectrical device to provide the network connection from the electricaldevice to the network provider, wherein: the configuration component isconfigured to automatically initially configure the electrical devicewithout the electrical device being coupled to the computer when thenetwork connection is a dynamic network connection and the statuscomponent detects the electrical device is not configured; and when thenetwork connection is a non-dynamic network connection, theconfiguration component is configured to automatically begin initiallyconfiguring the electrical device as soon as the status componentdetects the electrical device is not configured.
 17. The system of claim16, further comprising: a connection component in the electrical deviceconfigured to receive information from the network provider andcommunicating the information received from the network provider to theconfiguration component; and the configuration component is furtherconfigured to use the information received from the network providerwhen initially configuring the electrical device.
 18. The system ofclaim 16, further comprising: a computer communications componentconfigured to receive installation information from a user andcommunicating the installation information to the configurationcomponent, wherein: the configuration component is further configured touse the installation information received from the user when initiallyconfiguring the electrical device.
 19. The system of claim 18, wherein:an internet browser is operating in the computer; and the computercommunications component is configured to receive the installationinformation from the user through the internet browser in the computer.20. The system of claim 16, further comprising: a user communicationinterface in the electrical device, wherein: the user communicationinterface is configured to receive installation information from a userand communicating the installation information to the configurationcomponent; and the configuration component is further capable of usingthe installation information received from the user when initiallyconfiguring the electrical device.
 21. A method of configuring anelectrical device comprising: coupling the electrical device to acomputer; coupling the electrical device to a network provider;establishing a data connection between the computer and the electricaldevice; and after establishing the data connection, initiallyconfiguring the electrical device, wherein: the initially configuringthe electrical device comprises: automatically executing software in theelectrical device capable of initially configuring both a dynamicnetwork connection and a non-dynamic network connection between theelectrical device and the network provider such that automaticallyexecuting the software comprises: attempting to initially configure thedynamic network connection between the electrical device and the networkprovider; and attempting to initially configure the non-dynamic networkconnection if the attempt to initially configure the dynamic networkconnection fails.
 22. The method of claim 21, wherein: initiallyconfiguring the electrical device further comprises: attempting todetect a network connection between the electrical device and thenetwork provider.
 23. The method of claim 21, wherein: coupling theelectrical device to the network provider comprises: coupling theelectrical device to a modem; and coupling the modem to the networkprovider.
 24. The method of claim 21, wherein: initially configuring theelectrical device comprises: receiving installation information from auser.
 25. The method of claim 24, wherein: receiving the installationinformation from the user comprises: receiving the installationinformation from the user through the computer.
 26. The method of claim21, further comprising: using the network device.
 27. The method ofclaim 21, wherein: the electrical device is a gateway device.
 28. Amethod of configuring an network device comprising: coupling the networkdevice to a network provider; attempting to initially configure adynamic network connection between the network device and the networkprovider by automatically executing software in the network device ifthe network device is not configured; and if the network device is notconfigured and the dynamic network connection was not configured,initially configuring a non-dynamic network by automatically executingthe software in the network device, the initial configuring of thenon-dynamic network comprises: beginning initial configuration of thenon-dynamic network; receiving installation information from a user; andfinishing the initial configuration of the non-dynamic network using theinstallation information received from the user.
 29. The method of claim28, further comprising: after attempting to establish a dynamic networkconnection and before the initially configuring the non-dynamic network,coupling the network device to a computer; and after the coupling thenetwork device to the computer and before the initially configuring thenon-dynamic network, establishing a data connection between the computerand the network device.
 30. The method of claim 28, wherein: receivingthe installation information from the user comprises: receiving theinstallation information from the user through a computer.
 31. Themethod of claim 28, wherein: receiving the installation information fromthe user comprises: receiving the installation information from the userthrough a user communications interface in the network device.
 32. Themethod of claim 28, wherein: attempting to initially configure thedynamic network connection comprises: sending a request to the networkprovider to assign an internet protocol address.